<?php

/**
 * @category manager
 */
class defaultManager {

    private $_cfg = array(
        "domena " => "",
        "nazwa_nadawcy" => "",
        "email_nadawcy" => "",
    );
    
    public $man;
    public $trans;
    public function __construct() {
        $config = Zend_Registry::getInstance()->get('config');
        if (!isset($config->konfiguracja->domena->adres)) {
            if (isset($_SERVER["HTTP_HOST"])) {
                $this->_cfg["domena"] = $_SERVER["HTTP_HOST"] . '/';
            }
        } else {
            $this->_cfg["domena"] = $config->konfiguracja->domena->adres;
        }
        $this->_cfg["nazwa_nadawcy"] = 'NTEASER';
        $this->_cfg["email_nadawcy"] = $config->konfiguracja->email->adres;
        $this->man = new JezykPoManager(array('locale' => $_SESSION['Zend_Translate']));
        $this->trans = $this->man->getTranslator();
    }

    public function formularz() {
        $form = new Form();
        return $form;
    }

    public function pobierzBoxStrony($p_id_strony, $p_jezyk) {
        $maper = new admSgStronyJezyk();
        $strona = $maper->selectOne(NULL, array(admSgStronyJezyk::cl_adm_jez_s_jezykikod . ' = \'' . $p_jezyk . '\' ',
            admSgStronyJezyk::cl_adm_sg_stronyid . ' = ' . $p_id_strony . ''));
        return $strona;
    }

    public function obslugaFormularza($p_form, $p_data,$p_jezyk='pl') {
        if ($p_form->isValid($p_data)) {
            $admMaT = new admMaTeaser();
            $p_data[admMaTeaser::cl_kod] = md5($p_data[admMaTeaser::cl_mail] . time());
            $admMaT->zInsert($p_data);
            $this->sendMail($p_data[admMaTeaser::cl_mail], $p_data[admMaTeaser::cl_kod],$p_jezyk);
            return 'VALID';
        } else {
            return 'INVALID';
        }
    }

    public function tagiDoChmury($p_kolor = '487CB2') {
        $links = '';
        $tags = array('Oferty specjalne', 'Program lojalnosciowy', 'Profile brandów', '650 MLD EUR', 'Trendsetter', 'Pink money', 'Informacja', 'Kultura', 'Sport', 'Turystyka', 'Podróze', 'Unia Europejska', 'Komentarze', 'Ocena konsumencka', 'Polecenie');
        foreach ($tags as $tag) {
            $tag_url = '<a href="#" title="2 topics"  style="font-size: 20pt;" color="0x' . $p_kolor . '">' . $tag . '</a>';
            $links .= $tag_url;
        }
        return '<tags>' . $links . '</tags>';
    }

    /**
     *
     * @param type $p_mail
     * @param type $p_kod 
     */
    public function sendMail($p_mail, $p_kod, $p_jezyk = 'pl') {

        $tresc = $this->pobierzBoxStrony(83, $p_jezyk);
        $mail = new Zend_Mail('UTF-8');

        $mail->setFrom($this->_cfg['email_nadawcy'], $this->_cfg['nazwa_nadawcy']);
        $mail->addTo($p_mail, $p_mail);
        $mail->setSubject('NTeaser - '.$this->trans->_('Potwierdzenie mailowe').'.');


        $mail->setBodyHtml('
            ' . $tresc['tresc'] . '<br /> <br /> <br /> 
'.$this->trans->_('W kazdym momencie mozesz zrezygnowac z subskrypcji klikajac na ponizszy link').':<br />           
<a href="' . $this->_cfg["domena"] . 'Unsubscribe,' . $p_mail . ',' . $p_kod . '.html" target="_blank"> 
    ' . $this->_cfg["domena"] . 'Unsubscribe,' . $p_mail . ',' . $p_kod . '.html 
</a>'
        );
        $mail->send();
    }

    public function rezygnacja($p_mail, $p_kod) {
        $admMa = new admMaTeaser();
        $delete = $admMa->zDelete(NULL, array(admMaTeaser::cl_mail . " = '$p_mail' ", admMaTeaser::cl_kod . " = '$p_kod' "));
        if ($delete == 1) {
            return '<strong>'.$this->trans->_('Subskrybcja zostala anulowana').'!</strong>';
        } else {
            return '<strong>'.$this->trans->_('Nie udalo sie anulowac subskrybcji, nieprawidlowe dane!').'!</strong>';
        }
    }

}